#pragma once
#include "Car.h"
#include "SideWalk.h"

#define MAX_CARS 100  // 停车场的最大车辆数
#define Max 1000//最大记录车辆数

//定义一个停车场结构
typedef struct {
    Car* spot[MAX_CARS];//车位数量
    int sum;           //停车总数
}ParkingLot;
typedef struct {
    Car* record[Max];
    int k;
    int sum;
}ParkRecord;//历史记录结构体

ParkingLot* Park_Create();//创建一个停车场
int Park_IsEmpty(ParkingLot* park);//判断停车场是否为空，是返回1，否则0
int Park_IsFull(ParkingLot* park);//判断停车场是否为满，是返回1，否则0
int Park_Check(ParkingLot* park/*, char* plate*/);//查询停车场中的车辆，返回车位
ParkingLot* Park_Add(ParkingLot* park, Car* C, SideWalk* sidewalk);//扫描车牌，进入停车场
ParkingLot* Park_Leave(ParkingLot* park, ParkRecord* parkrecord);//扫描车牌，离开停车场
void Park_Allcheck(ParkingLot* park);//打印目前停车场所有车辆信息
ParkRecord* Record_Create();//创建一个历史记录
void Park_Record(Car* car, ParkRecord* parkrecord);//记录车辆到停车场历史记录中
void Account_Check(ParkRecord* parkrecord);//查看账单,打印账单
void Record_Check(ParkRecord* parkrecord);//查看记录,打印记录